using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace example6 { internal class PassTest { public PassTest(int x) { } public List vals = new List(); } class Program { static void f1(int x) { x = 5; } static void f2(ref int x) { x = 5; } static void f3(PassTest t) { t.vals.Add(5); } static void f4(ref PassTest t) { t = new PassTest(5); t.vals.Add(10); } static void Main(string[] args) { // Different examples of function calls int x = 4; f1(x); Console.WriteLine(x); f2(ref x); Console.WriteLine(x); PassTest t = new PassTest(x); Console.WriteLine(string.Join(",", t.vals.ToArray())); f3(t); Console.WriteLine(string.Join(",", t.vals.ToArray())); f4(ref t); Console.WriteLine(string.Join(",", t.vals.ToArray())); } } }